home *** CD-ROM | disk | FTP | other *** search
/ Aminet 34 / Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso / Aminet / util / misc / PaletteDeckV9.lha / PaletteDeck / PaletteDeck.z < prev    next >
Encoding:
Text File  |  1999-10-09  |  14.7 KB  |  638 lines

  1. Deck "PaletteDeck"
  2.     Routine "Quit"
  3.         Let X=WindowX,Y=WindowY,W=WindowWidth,H=WindowHeight
  4.         If X<>WinX
  5.             Let CP=True
  6.         ElseIf Y<>WinY
  7.             Let CP=True
  8.         ElseIf W<>WinW
  9.             Let CP=True
  10.         ElseIf H<>WinH
  11.             Let CP=True
  12.         EndIf
  13.         If CP=True
  14.             Do "SaveIcon"
  15.         EndIf
  16.         Quit
  17.     EndScript
  18.     Routine "Get_GFX.PREFS"
  19.         WorkWithDocument "TEMP"
  20.         Clear DOCUMENT 
  21.         InsertMessagePortList
  22.         MoveCursorTo STARTOF DOCUMENT 
  23.         SplitLine
  24.         MoveCursorTo STARTOF DOCUMENT 
  25.         SearchFor "CYBERGRAPHICS.LIBRARY",BYWORD NOCASE 
  26.         If SearchFound
  27.             Let CYBERGFX=TRUE,DBLHEIGHT=TRUE,DBLWIDTH=TRUE
  28.         Else
  29.             Let CYBERGFX=FALSE
  30.         EndIf
  31.     EndScript
  32.     Routine "IN_Case.WinX"
  33.         Let WinX=Limit(0,ScreenWidth,Arg1)
  34.     EndScript
  35.     Routine "IN_Case.WinY"
  36.         Let WinY=Limit(0,ScreenHeight,Arg1)
  37.     EndScript
  38.     Routine "IN_Case.WinH"
  39.         Let WinH=Limit(177,ScreenHeight,Arg1)
  40.     EndScript
  41.     Routine "IN_Case.WinW"
  42.         Let WinW=Limit(376,ScreenWidth,Arg1)
  43.     EndScript
  44.     Routine "GetColors"
  45.         Let I=0
  46.         Loop
  47.             GetRGB I,R[I],G[I],B[I]
  48.             Let I=I+1
  49.         Until I>MaxColor
  50.     EndScript
  51.     Routine "ResetColors"
  52.         Let I=0
  53.         Loop
  54.             SetRGB I,R[I],G[I],B[I]
  55.             Let I=I+1
  56.         Until I>MaxColor
  57.         Do "SetProps"
  58.     EndScript
  59.     Routine "Box"
  60.         Let Row=PenA%8
  61.         Let Column=PenA//8
  62.         Let Top=StartY+Row*IncY-1
  63.         Let Left=StartX+Column*IncX-1
  64.         Let APen=PenA
  65.         SetPen Arg1
  66.         DrawBorder Left,Top+1,IncX,IncY-1,BEVEL ,Arg1,2
  67.         DrawBorder Left+3,Top+3,IncX-6,IncY-5,OUTLINE ,0,0
  68.         SetPen APen
  69.     EndScript
  70.     Routine "SetProps"
  71.         Let APen=PenA
  72.         SetPen 1
  73.         GetRGB APen,Red,Green,Blue
  74.         Do "PrintPropPos"
  75.         SetPropPosition "Prop_R",Red
  76.         SetPropPosition "Prop_G",Green
  77.         SetPropPosition "Prop_B",Blue
  78.         SetPen APen
  79.     EndScript
  80.     Routine "PropRelease"
  81.         Let APen=PenA
  82.         SetPen 1
  83.         Do "PrintPropPos"
  84.         SetPen APen
  85.         Let PendingCommand="None"
  86.     EndScript
  87.     Routine "NewPropPos-R"
  88.         GetPropPosition "Prop_R",NewPos
  89.         GetRGB PenA,Red,Green,Blue
  90.         SetRGB PenA,NewPos,Green,Blue
  91.         Do "PrintPropPos"
  92.     EndScript
  93.     Routine "NewPropPos-G"
  94.         GetPropPosition "Prop_G",NewPos
  95.         GetRGB PenA,Red,Green,Blue
  96.         SetRGB PenA,Red,NewPos,Blue
  97.         Do "PrintPropPos"
  98.     EndScript
  99.     Routine "NewPropPos-B"
  100.         GetPropPosition "Prop_B",NewPos
  101.         GetRGB PenA,Red,Green,Blue
  102.         SetRGB PenA,Red,Green,NewPos
  103.         Do "PrintPropPos"
  104.     EndScript
  105.     Routine "Get_FONT.PREFS"
  106.         Local READFILE="ENV:sys/font.prefs",X=0,SizeVar="",FontVar=""
  107.         If EXISTS(READFILE)=TRUE
  108.             IfError
  109.                 Let SysDefText="topaz",SysDefTextSize=8
  110.             Else
  111.                 If FileSize(READFILE)>""
  112.                     GetFileInfo READFILE,FILECNT
  113.                     SetFileBufferSize Limit(1,1024,Integer(FILECNT%1024))
  114.                     OpenFile READFILE,"WORKFILE",READONLY ,OLDFILE 
  115.                     FileReadChars "WORKFILE",X,223
  116.                     FileReadChars "WORKFILE",SizeVar,1,HEX 
  117.                     FileReadChars "WORKFILE",X,2
  118.                     FileReadChars "WORKFILE",FontVar,30
  119.                     Let SysDefTextSize=HexToInteger(SizeVar)
  120.                     Let SysDefText=GetWord(FontVar,1,".")
  121.                     Close "WORKFILE"
  122.                 Else
  123.                     Let SysDefText="topaz",SysDefTextSize=8
  124.                 EndIf
  125.             EndIf
  126.         Else
  127.             Let SysDefText="topaz",SysDefTextSize=8
  128.         EndIf
  129.         GetFontInfo SCREEN ,ScreenText,ScreenTextSize
  130.         Let GOS=ScreenTextSize+3
  131.     EndScript
  132.     Routine "DrawPalette"
  133.         Let MaxColor=WindowColors-1
  134.         Let NumRows=WindowColors%8
  135.         If NumRows=0
  136.             Let NumRows=1
  137.             Let NumCols=WindowColors
  138.         Else
  139.             Let NumCols=8
  140.         EndIf
  141.         Let StartX=11
  142.         Let StartY=34
  143.         Let IncX=(WinW-111)/NumCols
  144.         Let IncY=(WinH-110)/NumRows
  145.         Let I=0
  146.         Let J=0
  147.         Let X=0
  148.         Let Y=0
  149.         Loop
  150.             Loop
  151.                 SetPen I+J*NumCols
  152.                 AreaRectangle StartX+X,StartY+Y,IncX-1,IncY-1
  153.                 Let I=I+1
  154.                 Let X=X+IncX
  155.             Until I=NumCols
  156.             Let I=0
  157.             Let J=J+1
  158.             Let X=0
  159.             Let Y=Y+IncY
  160.         Until J=NumRows
  161.     EndScript
  162.     Routine "SaveVar"
  163.         Let X=WinX,Y=WinY,W=WinW,H=WinH
  164.         Let PalData.WinX=X
  165.         Let PalData.WinY=Y
  166.         Let PalData.WinW=W
  167.         Let PalData.WinH=H
  168.         SaveVariable PalData,"Ram:Pal.Data"
  169.     EndScript
  170.     Routine "LoadVar"
  171.         Let X=WinX,Y=WinY,W=WinW,H=WinH
  172.         If Exists("Ram:Pal.Data")
  173.             Let PalData=LoadVariable("Ram:Pal.Data")
  174.             IfError
  175.                 Let X=WinX,Y=WinY,W=WinW,H=WinH
  176.             Else
  177.                 Let WinX=PalData.WinX,WinY=PalData.WinY,WinW=PalData.WinW,WinH=PalData.WinH
  178.             EndIf
  179.         ElseIf Exists(TheCurrentDirectory||"Pal.Data")
  180.             Let PalData=LoadVariable(TheCurrentDirectory||"Pal.Data")
  181.             IfError
  182.                 Let X=WinX,Y=WinY,W=WinW,H=WinH
  183.             Else
  184.                 Let WinWinX=PalData.WinX,WinY=PalData.WinY,WinW=PalData.WinW,WinH=PalData.WinH
  185.             EndIf
  186.         Else
  187.             Do "SaveVar"
  188.         EndIf
  189.     EndScript
  190.     Routine "Get_TOOLTYPES"
  191.         WorkWithDocument "ToolTypes"
  192.         Clear DOCUMENT 
  193.         If Exists(DECKNAME||".info")
  194.             LoadIcon DECKNAME,"ICON"
  195.             IfError
  196.                 Do "LoadVar"
  197.             Else
  198.                 WorkWithDocument "ToolTypes"
  199.                 Clear DOCUMENT 
  200.                 InsertToolTypeList "ICON"
  201.                 MoveCursorTo STARTOF DOCUMENT 
  202.                 If LINESINDOCUMENT>=2
  203.                     Loop
  204.                         If NOT Match(GetChars(THELINE,1,1),"(","[","{","<","«",";")
  205.                             Do "IN_Case."||UpperCase(GetWord(THELINE,1,"=")),UpperCase(GetWord(THELINE,1,"WwIiNnHhXxYy = "))
  206.                             IfError
  207.                             EndIf
  208.                         EndIf
  209.                         MoveCursor DOWN 
  210.                     Until THELINENUMBER=LINESINDOCUMENT
  211.                 EndIf
  212.                 Flush "ICON"
  213.             EndIf
  214.         Else
  215.             Do "LoadVar"
  216.         EndIf
  217.     EndScript
  218.     Routine "SearchFor"
  219.         WorkWithDocument "ToolTypes"
  220.         MoveCursorTo STARTOF DOCUMENT 
  221.         SearchFor Arg1,NOCASE 
  222.         Let AW=Arg1
  223.         Let AT=Arg2
  224.         If SearchFound
  225.             Let Word=GetWord(TheLine,1)
  226.             If Word<>Arg1||Arg2
  227.                 If Match(GetChars(Word,1,1),"(","[","{","<","«",";")
  228.                     MoveCursorTo ENDOF DOCUMENT
  229.                 Else
  230.                     Delete LINE
  231.                 EndIf
  232.                 MoveCursorTo ENDOF DOCUMENT 
  233.                 Type Arg1||Arg2,NEWLINE 
  234.             EndIf
  235.         Else
  236.             MoveCursorTo ENDOF DOCUMENT 
  237.             Type Arg1||Arg2,NEWLINE 
  238.         EndIf
  239.     EndScript
  240.     Routine "SaveIcon"
  241.         Do "Get_TOOLTYPES"
  242.         WorkWithDocument "ToolTypes"
  243.         MoveCursorTo STARTOF DOCUMENT 
  244.         Let WinX=WindowX,WinY=WindowY,WinW=WindowWidth,WinH=WindowHeight
  245.         Do "SearchFor","WinX=",WinX
  246.         Do "SearchFor","WinY=",WinY
  247.         Do "SearchFor","WinW=",WinW
  248.         Do "SearchFor","WinH=",WinH
  249.         SetToolTypeList DeckName,"ToolTypes"
  250.         SaveIcon DeckName,DeckName
  251.     EndScript
  252.     Routine "DrawWin"
  253.         SetDrawMode JAM2 
  254.         Let WinW=WindowWidth
  255.         Let WinH=WindowHeight
  256.         Do "DrawPalette"
  257.         DrawBorder WinW-94,16+AY1,72,WinH-(90+AY1),BEVEL ,1,2
  258.         SetPrintFont "topaz",8
  259.         SetPen 1,0
  260.         PrintText "R",8,WinH-68
  261.         PrintText "G",8,WinH-52
  262.         PrintText "B",8,WinH-36
  263.         SetPen 0
  264.         Do "Box",1
  265.         Do "SetProps"
  266.         Do "GetColors"
  267.         Let PendingCommand="None"
  268.     EndScript
  269.     Routine "PrintPropPos"
  270.         SetDrawMode JAM2 
  271.         PrintText FormatValue(Red,"000"),WinW-43,WinH-(51+AY1)
  272.         PrintText FormatValue(Green,"000"),WinW-43,WinH-(37+AY1)
  273.         PrintText FormatValue(Blue,"000"),WinW-43,WinH-(21+AY1)
  274.     EndScript
  275.     Routine "ClickColor"
  276.         Do "Box",0
  277.         Do "DrawPalette"
  278.         Let CurX=MouseX
  279.         Let CurY=MouseY
  280.         Let CurRow=Min((CurY-StartY)%IncY+1,NumRows)
  281.         Let CurCol=Min((CurX-StartX)%IncX+1,NumCols)
  282.         Let PenNum=8*(CurRow-1)+(CurCol-1)
  283.         GetRGB PenA,Red,Green,Blue
  284.         If PendingCommand="Copy"
  285.             SetRGB PenNum,Red,Green,Blue
  286.         ElseIf PendingCommand="Exchange"
  287.             GetRGB PenNum,Red2,Green2,Blue2
  288.             SetRGB PenA,Red2,Green2,Blue2
  289.             SetRGB PenNum,Red,Green,Blue
  290.         ElseIf PendingCommand="Spread"
  291.             Let PenDiff=Absolute(PenNum-PenA)
  292.             If PenDiff>1
  293.                 Let StartPen=Min(PenA,PenNum)
  294.                 If StartPen=PenA
  295.                     GetRGB PenA,Red,Green,Blue
  296.                     GetRGB PenNum,Red2,Green2,Blue2
  297.                 Else
  298.                     GetRGB PenNum,Red,Green,Blue
  299.                     GetRGB PenA,Red2,Green2,Blue2
  300.                 EndIf
  301.                 Let RedInc=(Red2-Red)/PenDiff
  302.                 Let GreenInc=(Green2-Green)/PenDiff
  303.                 Let BlueInc=(Blue2-Blue)/PenDiff
  304.                 Let CurPen=StartPen+1
  305.                 While CurPen<=StartPen+PenDiff-1
  306.                     Let NewRed=Red+(CurPen-StartPen)*RedInc
  307.                     Let NewGreen=Green+(CurPen-StartPen)*GreenInc
  308.                     Let NewBlue=Blue+(CurPen-StartPen)*BlueInc
  309.                     SetRGB CurPen,NewRed,NewGreen,NewBlue
  310.                     Let CurPen=CurPen+1
  311.                 EndLoop
  312.             EndIf
  313.         EndIf
  314.         SetPen PenNum
  315.         Let PendingCommand="None"
  316.         AreaRectangle WinW-90,18+AY1,64,WinH-(95+AY1)
  317.         Do "SetProps"
  318.         Do "Box",1
  319.     EndScript
  320.     Resource "PROGRAM"
  321.         BeforeAttachment
  322.             SetAutoFileRequester FALSE
  323.             Do "Get_GFX.PREFS"
  324.             Do "Get_FONT.PREFS"
  325.             Let WinX=0,WinY=GOS,WinW=376,WinH=169+SCREENTEXTSIZE
  326.             If THEPUBSCREENTITLE=""
  327.                 Let THEPUBSCREENTITLE="Workbench"
  328.             Else
  329.                 Let THEPUBSCREENTITLE=Name
  330.             EndIf
  331.             Do "Get_TOOLTYPES"
  332.         EndScript
  333.         AfterAttachment
  334.             SetAutoFileRequester FALSE
  335.             SetSystemRequesterTo WINDOW 
  336.             Let WinBorT=WINDOWBORDERTOP
  337.             Let DBLHEIGHT=IfThen(CYBERGFX=TRUE,TRUE,Interlace)
  338.             Let DBLWIDTH=IfThen(CYBERGFX=TRUE,TRUE,Hires)
  339.             Let Horiz=IfThen(DBLWIDTH=TRUE,8,4)
  340.             Let Vert=IfThen(DBLHEIGHT=TRUE,4,4)
  341.             Let AX1=Horiz+1
  342.             Let AY1=WinBorT+Vert
  343.             AttachObject "OBJECTS"
  344.             Do "DrawWin"
  345.         EndScript
  346.         Window "MainWindow"
  347.             Definition
  348.                 Origin WinX,WinY
  349.                 Title "Palette Deck..."
  350.                 WindowObjects CLOSEBUTTON DEPTHBUTTONS DRAGBAR SIZEBUTTON 
  351.                 WindowLimits WinW,WinH,ScreenWidth,ScreenHeight
  352.                 WindowZoom -1,-1,WinW,WinH
  353.                 Size WinW,WinH
  354.                 WindowFlags ACTIVATE TOFRONT PUBLIC ,THEPUBSCREENTITLE
  355.                 VisualEffects NONE ,NONE 
  356.             EndScript
  357.             OnCloseButton
  358.                 Do "Quit"
  359.             EndScript
  360.             OnResized
  361.                 If ObjectAttached("OBJECTS")
  362.                     DetachObject "OBJECTS"
  363.                     ClearWindow
  364.                     AttachObject "OBJECTS"
  365.                 EndIf
  366.                 Do "DrawWin"
  367.             EndScript
  368.         EndObj
  369.         Resource "OBJECTS"
  370.             NoAttach
  371.             BeforeAttachment
  372.                 Let WinW=WindowWidth
  373.                 Let WinH=WindowHeight
  374.             EndScript
  375.             AreaButton "B_Copy"
  376.                 Definition
  377.                     Origin AX1,AY1
  378.                     Border BEVEL ,2,4
  379.                     Text "Copy"
  380.                     Font "topaz",8
  381.                     Size 64,13
  382.                 EndScript
  383.                 OnRelease
  384.                     Let PendingCommand="Copy"
  385.                 EndScript
  386.                 AfterAttachment
  387.                     DrawBorder AX1,AY1,64,13,OUTLINE ,1,1
  388.                 EndScript
  389.             EndObj
  390.             AreaButton "B_Swap"
  391.                 Definition
  392.                     Origin Whole(79+((WinW-376)/2)/2),AY1
  393.                     Border BEVEL ,2,4
  394.                     Text "Swap"
  395.                     Font "topaz",8
  396.                     Size 64,13
  397.                 EndScript
  398.                 OnRelease
  399.                     Let PendingCommand="Exchange"
  400.                 EndScript
  401.                 AfterAttachment
  402.                     DrawBorder Whole(79+((WinW-376)/2)/2),AY1,64,13,OUTLINE ,1,1
  403.                 EndScript
  404.             EndObj
  405.             AreaButton "B_Spread"
  406.                 Definition
  407.                     Origin Whole(149+((WinW-376)/2)),AY1
  408.                     Border BEVEL ,2,4
  409.                     Text "Spread"
  410.                     Font "topaz",8
  411.                     Size 64,13
  412.                 EndScript
  413.                 OnRelease
  414.                     Let PendingCommand="Spread"
  415.                 EndScript
  416.                 AfterAttachment
  417.                     DrawBorder Whole(149+((WinW-376)/2)),AY1,64,13,OUTLINE ,1,1
  418.                 EndScript
  419.             EndObj
  420.             AreaButton "B_Screens"
  421.                 Definition
  422.                     Origin Whole(219+((WinW-376)/2)*5/3),AY1
  423.                     Border BEVEL ,2,4
  424.                     Text "Screens"
  425.                     Font "topaz",8
  426.                     Size 64,13
  427.                 EndScript
  428.                 OnRelease
  429.                     If Not ObjectAttached("Pub")
  430.                         AttachObject "Pub"
  431.                     EndIf
  432.                     WorkWithDocument "PubScreens"
  433.                     Clear DOCUMENT 
  434.                     InsertPubScreenList
  435.                     Delete CHARACTER ,-1
  436.                     MoveCursorTo STARTOF DOCUMENT 
  437.                 EndScript
  438.                 AfterAttachment
  439.                     DrawBorder Whole(219+((WinW-376)/2)*5/3),AY1,64,13,OUTLINE ,1,1
  440.                 EndScript
  441.             EndObj
  442.             AreaButton "B_Restore"
  443.                 Definition
  444.                     Origin WinW-87,AY1
  445.                     Border BEVEL ,2,4
  446.                     Text "Restore"
  447.                     Font "topaz",8
  448.                     Size 64,13
  449.                 EndScript
  450.                 OnRelease
  451.                     Do "ResetColors"
  452.                     Let PendingCommand="None"
  453.                 EndScript
  454.                 AfterAttachment
  455.                     DrawBorder WinW-87,AY1,64,13,OUTLINE ,1,1
  456.                 EndScript
  457.             EndObj
  458.             AreaButton "B_AreaPal"
  459.                 Definition
  460.                     Origin 8,16+AY1
  461.                     Border BEVEL 
  462.                     Highlight NONE 
  463.                     Size WinW-106,WinH-(90+AY1)
  464.                 EndScript
  465.                 OnClick
  466.                     Do "ClickColor"
  467.                 EndScript
  468.             EndObj
  469.             AreaButton "B_Save"
  470.                 Definition
  471.                     Origin AX1,WinH-(5+AY1)
  472.                     Border BEVEL ,2,4
  473.                     Text "Save"
  474.                     Font "topaz",8
  475.                     Size 58,13
  476.                 EndScript
  477.                 OnRelease
  478.                     ClipBrush 21,42,28,11,"PalBrush"
  479.                     SaveBrush "PalBrush",TheCurrentDirectory||"Pal.Prefs"
  480.                 EndScript
  481.                 AfterAttachment
  482.                     DrawBorder AX1,WinH-(5+AY1),58,13,OUTLINE ,1,1
  483.                 EndScript
  484.             EndObj
  485.             AreaButton "B_Use"
  486.                 Definition
  487.                     Origin Whole(152+((WinW-376)/2)),WinH-(5+AY1)
  488.                     Border BEVEL ,2,4
  489.                     Text "Use"
  490.                     Font "topaz",8
  491.                     Size 58,13
  492.                 EndScript
  493.                 OnRelease
  494.                     Quit
  495.                 EndScript
  496.                 AfterAttachment
  497.                     DrawBorder Whole(152+((WinW-376)/2)),WinH-(5+AY1),58,13,OUTLINE ,1,1
  498.                 EndScript
  499.             EndObj
  500.             AreaButton "B_Cancel"
  501.                 Definition
  502.                     Origin WinW-81,WinH-(5+AY1)
  503.                     Border BEVEL ,2,4
  504.                     Text "Cancel"
  505.                     Font "topaz",8
  506.                     Size 58,13
  507.                 EndScript
  508.                 OnRelease
  509.                     Do "ResetColors"
  510.                     Quit
  511.                 EndScript
  512.                 AfterAttachment
  513.                     DrawBorder WinW-81,WinH-(5+AY1),58,13,OUTLINE ,1,1
  514.                 EndScript
  515.             EndObj
  516.             AreaProp "Prop_R"
  517.                 Definition
  518.                     Origin 27,WinH-(53+AY1)
  519.                     Size WinW-74,9
  520.                     MoveType HORIZONTAL 
  521.                     Range 0,255,1,10
  522.                     VisibleRange 1,1
  523.                     InitialPosition 1,1
  524.                     PropBorder No
  525.                     Image "Prop-a.br"
  526.                     AltImage "Prop-b.br"
  527.                 EndScript
  528.                 OnNewPosition
  529.                     Do "NewPropPos-R"
  530.                 EndScript
  531.                 OnRelease
  532.                     Do "PropRelease"
  533.                 EndScript
  534.                 AfterAttachment
  535.                     DrawBorder 26,WinH-(54+AY1),WinW-74,11,DOUBLEBEVEL ,2,1
  536.                 EndScript
  537.             EndObj
  538.             AreaProp "Prop_G"
  539.                 Definition
  540.                     Origin 27,WinH-(36+AY1)
  541.                     Size WinW-74,9
  542.                     MoveType HORIZONTAL 
  543.                     Range 0,255,1,10
  544.                     VisibleRange 1,1
  545.                     InitialPosition 1,1
  546.                     PropBorder No
  547.                     Image "Prop-a.br"
  548.                     AltImage "Prop-b.br"
  549.                 EndScript
  550.                 OnNewPosition
  551.                     Do "NewPropPos-G"
  552.                 EndScript
  553.                 OnRelease
  554.                     Do "PropRelease"
  555.                 EndScript
  556.                 AfterAttachment
  557.                     DrawBorder 26,WinH-(37+AY1),WinW-74,11,DOUBLEBEVEL ,2,1
  558.                 EndScript
  559.             EndObj
  560.             AreaProp "Prop_B"
  561.                 Definition
  562.                     Origin 27,WinH-(19+AY1)
  563.                     Size WinW-74,9
  564.                     MoveType HORIZONTAL 
  565.                     Range 0,255,1,10
  566.                     VisibleRange 1,1
  567.                     InitialPosition 1,1
  568.                     PropBorder No
  569.                     Image "Prop-a.br"
  570.                     AltImage "Prop-b.br"
  571.                 EndScript
  572.                 OnNewPosition
  573.                     Do "NewPropPos-B"
  574.                 EndScript
  575.                 OnRelease
  576.                     Do "PropRelease"
  577.                 EndScript
  578.                 AfterAttachment
  579.                     DrawBorder 26,WinH-(20+AY1),WinW-74,11,DOUBLEBEVEL ,2,1
  580.                 EndScript
  581.             EndObj
  582.             TextMenu "Load"
  583.                 Definition
  584.                     AttachTo MENU ,"Project..."
  585.                     Text "Load..."
  586.                     ShortCutKey "L"
  587.                 EndScript
  588.                 Occurred
  589.                     SetFileRequestMode REGULARMODE ,REJECTICONS PATTERNFIELD 
  590.                     SetFileRequestPattern "#?.Prefs"
  591.                     Let FileName=AskForFileName(TheCurrentDirectory||".Prefs","Select Palette To Load...")
  592.                     If FileOf(FileName)<>Nothing
  593.                         ShowPalette FileName
  594.                     EndIf
  595.                 EndScript
  596.             EndObj
  597.             TextMenu "About"
  598.                 Definition
  599.                     AttachTo MENU ,"Project..."
  600.                     Text "About..."
  601.                 EndScript
  602.                 Occurred
  603.                     WorkWithDocument "TEMP"
  604.                     Clear DOCUMENT 
  605.                     Type "Palette Deck Version 0.9",NEWLINE 
  606.                     Type "By Thomas R. Grant",NEWLINE 
  607.                     Local ©=AskForResponse(TextFromDocument("TEMP"),"about Palette Deck")
  608.                 EndScript
  609.             EndObj
  610.             Resource "Pub"
  611.                 NoAttach
  612.                 Memo "Screens"
  613.                     Definition
  614.                         MemoDocument "PubScreens"
  615.                         ScrollBars RIGHT 
  616.                         InputStyle LOCKEDOUT 
  617.                         Origin 10,WinH-(55+AY1)
  618.                         Size WinW-34,47
  619.                         Border INVERT BEVEL 
  620.                         Font "topaz",8
  621.                     EndScript
  622.                     OnRelease
  623.                         WorkWithDocument "PubScreens"
  624.                         Let Name=GetWord(TheLine,1)
  625.                         If PubScreenExists(Name)
  626.                             Let THEPUBSCREENTITLE=Name
  627.                             If ObjectAttached("OBJECTS")
  628.                                 DetachObject "PROGRAM"
  629.                                 AttachObject "PROGRAM"
  630.                             EndIf
  631.                         EndIf
  632.                     EndScript
  633.                 EndObj
  634.             EndObj
  635.         EndObj
  636.     EndObj
  637. EndObj
  638.